{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>wav_file</th>\n",
       "      <th>label</th>\n",
       "      <th>transcription</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Ses02F_impro04_F012</td>\n",
       "      <td>2</td>\n",
       "      <td>or they ll never talk to me again .</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Ses03F_script02_1_M030</td>\n",
       "      <td>4</td>\n",
       "      <td>for real ?</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Ses02F_script03_2_M015</td>\n",
       "      <td>2</td>\n",
       "      <td>nothing .</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Ses02F_script02_2_M025</td>\n",
       "      <td>2</td>\n",
       "      <td>you wanna get married again ?</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Ses04M_script03_1_M021</td>\n",
       "      <td>1</td>\n",
       "      <td>let s savor the delight of the moment . come a...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                 wav_file  label  \\\n",
       "0     Ses02F_impro04_F012      2   \n",
       "1  Ses03F_script02_1_M030      4   \n",
       "2  Ses02F_script03_2_M015      2   \n",
       "3  Ses02F_script02_2_M025      2   \n",
       "4  Ses04M_script03_1_M021      1   \n",
       "\n",
       "                                       transcription  \n",
       "0                or they ll never talk to me again .  \n",
       "1                                         for real ?  \n",
       "2                                          nothing .  \n",
       "3                      you wanna get married again ?  \n",
       "4  let s savor the delight of the moment . come a...  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import pickle\n",
    "\n",
    "import itertools\n",
    "import xgboost as xgb\n",
    "from sklearn.svm import LinearSVC\n",
    "from sklearn.naive_bayes import MultinomialNB\n",
    "from sklearn.neural_network import MLPClassifier\n",
    "from sklearn.linear_model import LogisticRegression\n",
    "from sklearn.ensemble import RandomForestClassifier\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.feature_selection import SelectFromModel\n",
    "from sklearn.feature_extraction.text import CountVectorizer\n",
    "\n",
    "from sklearn.feature_extraction.text import TfidfTransformer, TfidfVectorizer\n",
    "from sklearn.metrics import confusion_matrix, f1_score, accuracy_score, precision_score, recall_score\n",
    "\n",
    "from IPython.display import display\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "\n",
    "\n",
    "df = pd.read_csv('data/t2e/text_train.csv')\n",
    "df = df.append(pd.read_csv('data/t2e/text_test.csv'))\n",
    "display(df.head())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "col = ['label', 'transcription']\n",
    "df = df[col]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['label', 'transcription'], dtype='object')"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.columns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "df.columns = ['label', 'transcription']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "category_to_id = {'ang': 0,\n",
    "                'hap': 1,\n",
    "                'sad': 2,\n",
    "                'fea': 3,\n",
    "                'sur': 4,\n",
    "                'neu': 5}\n",
    "id_to_category = {0: 'ang', 1: 'hap', 2: 'sad', 3: 'fea', 4: 'sur', 5: 'neu'}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure(figsize=(8,6))\n",
    "df.groupby('label').transcription.count().plot.bar(ylim=0)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(9797, 2464)\n"
     ]
    }
   ],
   "source": [
    "tfidf = TfidfVectorizer(sublinear_tf=True, min_df=5, norm='l2', encoding='latin-1', ngram_range=(1, 2), stop_words='english')\n",
    "\n",
    "features = tfidf.fit_transform(df.transcription).toarray()\n",
    "\n",
    "labels = df.label\n",
    "print(features.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "x_train, x_test, y_train, y_test = train_test_split(features, labels, test_size=0.20)\n",
    "# count_vect = CountVectorizer()\n",
    "# x_train_counts = count_vect.fit_transform(x_train)\n",
    "# tfidf_transformer = TfidfTransformer()\n",
    "# x_train_tfidf = tfidf_transformer.fit_transform(x_train_counts)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "emotion_dict = {'ang': 0,\n",
    "                'hap': 1,\n",
    "                'sad': 2,\n",
    "                'fea': 3,\n",
    "                'sur': 4,\n",
    "                'neu': 5}\n",
    "\n",
    "emo_keys = list(['ang', 'hap', 'sad', 'fea', 'sur', 'neu'])\n",
    "\n",
    "def plot_confusion_matrix(cm, classes,\n",
    "                          normalize=False,\n",
    "                          title='Confusion matrix',\n",
    "                          cmap=plt.cm.Blues):\n",
    "    \"\"\"\n",
    "    This function prints and plots the confusion matrix.\n",
    "    Normalization can be applied by setting `normalize=True`.\n",
    "    \"\"\"\n",
    "    # plt.figure(figsize=(8,8))\n",
    "    plt.imshow(cm, interpolation='nearest', cmap=cmap)\n",
    "    plt.title(title)\n",
    "    plt.colorbar()\n",
    "    tick_marks = np.arange(len(classes))\n",
    "    plt.xticks(tick_marks, classes, rotation=45)\n",
    "    plt.yticks(tick_marks, classes)\n",
    "\n",
    "    if normalize:\n",
    "        cm = cm.astype('float') / cm.sum(axis=1)[:, np.newaxis]\n",
    "        print(\"Normalized confusion matrix\")\n",
    "    else:\n",
    "        print('Confusion matrix, without normalization')\n",
    "\n",
    "    print(cm)\n",
    "\n",
    "    thresh = cm.max() / 2.\n",
    "    for i, j in itertools.product(range(cm.shape[0]), range(cm.shape[1])):\n",
    "        plt.text(j, i, cm[i, j],\n",
    "                 horizontalalignment=\"center\",\n",
    "                 color=\"white\" if cm[i, j] > thresh else \"black\")\n",
    "\n",
    "    plt.tight_layout()\n",
    "    plt.ylabel('True label')\n",
    "    plt.xlabel('Predicted label')\n",
    "    \n",
    "def one_hot_encoder(true_labels, num_records, num_classes):\n",
    "    temp = np.array(true_labels[:num_records])\n",
    "    true_labels = np.zeros((num_records, num_classes))\n",
    "    true_labels[np.arange(num_records), temp] = 1\n",
    "    return true_labels\n",
    "\n",
    "def display_results(y_test, pred_probs, cm=True):\n",
    "    pred = np.argmax(pred_probs, axis=-1)\n",
    "    one_hot_true = one_hot_encoder(y_test, len(pred), len(emotion_dict))\n",
    "    print('Test Set Accuracy =  {0:.3f}'.format(accuracy_score(y_test, pred)))\n",
    "    print('Test Set F-score =  {0:.3f}'.format(f1_score(y_test, pred, average='macro')))\n",
    "    print('Test Set Precision =  {0:.3f}'.format(precision_score(y_test, pred, average='macro')))\n",
    "    print('Test Set Recall =  {0:.3f}'.format(recall_score(y_test, pred, average='macro')))\n",
    "    if cm:\n",
    "        plot_confusion_matrix(confusion_matrix(y_test, pred), classes=emo_keys)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Test Set Accuracy =  0.631\n",
      "Test Set F-score =  0.630\n",
      "Test Set Precision =  0.663\n",
      "Test Set Recall =  0.631\n",
      "Confusion matrix, without normalization\n",
      "[[ 83  11  93  13   4  18]\n",
      " [  5 198  91  15   3  30]\n",
      " [ 32  28 402  39  10  63]\n",
      " [  0   0   0 258   0   0]\n",
      " [  0   2   0  39 174  11]\n",
      " [ 12  29 150  21   4 122]]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "rf_classifier = RandomForestClassifier(n_estimators=600, min_samples_split=25)\n",
    "rf_classifier.fit(x_train, y_train)\n",
    "\n",
    "# Predict\n",
    "pred_probs = rf_classifier.predict_proba(x_test)\n",
    "\n",
    "# Results\n",
    "display_results(y_test, pred_probs)\n",
    "\n",
    "with open('pred_probas/text_rf_classifier.pkl', 'wb') as f:\n",
    "    pickle.dump(pred_probs, f)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Test Set Accuracy =  0.548\n",
      "Test Set F-score =  0.540\n",
      "Test Set Precision =  0.703\n",
      "Test Set Recall =  0.503\n",
      "Confusion matrix, without normalization\n",
      "[[ 55  11 142   1   4   9]\n",
      " [  6 128 193   3   2  10]\n",
      " [ 18  23 501   5   3  24]\n",
      " [  0   0  66 192   0   0]\n",
      " [  3   2  93   0 128   0]\n",
      " [  4  20 236   5   2  71]]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "xgb_classifier = xgb.XGBClassifier(max_depth=7, learning_rate=0.008, objective='multi:softprob', \n",
    "                                   n_estimators=600, sub_sample=0.8, num_class=len(emotion_dict),\n",
    "                                   booster='gbtree', n_jobs=4)\n",
    "xgb_classifier.fit(x_train, y_train)\n",
    "\n",
    "# Predict\n",
    "pred_probs = xgb_classifier.predict_proba(x_test)\n",
    "\n",
    "# Results\n",
    "display_results(y_test, pred_probs)\n",
    "\n",
    "with open('pred_probas/text_xgb_classifier.pkl', 'wb') as f:\n",
    "    pickle.dump(pred_probs, f)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Test Set Accuracy =  0.620\n",
      "Test Set F-score =  0.641\n",
      "Test Set Precision =  0.673\n",
      "Test Set Recall =  0.620\n",
      "Confusion matrix, without normalization\n",
      "[[100   7  87   1   4  23]\n",
      " [  6 221  57   5   8  45]\n",
      " [ 42  40 381  11  11  89]\n",
      " [  0   0  59 199   0   0]\n",
      " [  0   2  38   1 174  11]\n",
      " [ 16  41 129   4   7 141]]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "svc_classifier = LinearSVC()\n",
    "\n",
    "svc_classifier.fit(x_train, y_train)\n",
    "\n",
    "# Predict\n",
    "pred = svc_classifier.predict(x_test)\n",
    "\n",
    "# Results\n",
    "one_hot_true = one_hot_encoder(y_test, len(pred), len(emotion_dict))\n",
    "print('Test Set Accuracy =  {0:.3f}'.format(accuracy_score(y_test, pred)))\n",
    "print('Test Set F-score =  {0:.3f}'.format(f1_score(y_test, pred, average='macro')))\n",
    "print('Test Set Precision =  {0:.3f}'.format(precision_score(y_test, pred, average='macro')))\n",
    "print('Test Set Recall =  {0:.3f}'.format(recall_score(y_test, pred, average='macro')))\n",
    "plot_confusion_matrix(confusion_matrix(y_test, pred), classes=emotion_dict.keys())\n",
    "(y_test, pred_probs)\n",
    "\n",
    "with open('pred_probas/text_svc_classifier_model.pkl', 'wb') as f:\n",
    "    pickle.dump(svc_classifier, f)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Test Set Accuracy =  0.605\n",
      "Test Set F-score =  0.612\n",
      "Test Set Precision =  0.706\n",
      "Test Set Recall =  0.575\n",
      "Confusion matrix, without normalization\n",
      "[[ 79   8 110   2   6  17]\n",
      " [  2 191 106   5   6  32]\n",
      " [ 26  19 470   8   6  45]\n",
      " [  0   0  73 185   0   0]\n",
      " [  0   2  67   0 157   0]\n",
      " [  4  25 191   8   6 104]]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "mnb_classifier = MultinomialNB()\n",
    "\n",
    "mnb_classifier.fit(x_train, y_train)\n",
    "\n",
    "# Predict\n",
    "pred_probs = mnb_classifier.predict_proba(x_test)\n",
    "\n",
    "# Results\n",
    "display_results(y_test, pred_probs)\n",
    "\n",
    "with open('pred_probas/text_mnb_classifier.pkl', 'wb') as f:\n",
    "    pickle.dump(pred_probs, f)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Test Set Accuracy =  0.635\n",
      "Test Set F-score =  0.642\n",
      "Test Set Precision =  0.641\n",
      "Test Set Recall =  0.656\n",
      "Confusion matrix, without normalization\n",
      "[[105   6  68  11   7  25]\n",
      " [ 12 211  51  12  11  45]\n",
      " [ 49  36 338  36  16  99]\n",
      " [  0   0   0 258   0   0]\n",
      " [  0   0   0  39 187   0]\n",
      " [ 27  37 103  19   7 145]]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "mlp_classifier = MLPClassifier(hidden_layer_sizes=(500, ), activation='relu', solver='adam', alpha=0.0001,\n",
    "                               batch_size='auto', learning_rate='adaptive', learning_rate_init=0.01,\n",
    "                               power_t=0.5, max_iter=1000, shuffle=True, random_state=None, tol=0.0001,\n",
    "                               verbose=False, warm_start=True, momentum=0.8, nesterovs_momentum=True,\n",
    "                               early_stopping=False, validation_fraction=0.1, beta_1=0.9, beta_2=0.999,\n",
    "                               epsilon=1e-08)\n",
    "\n",
    "mlp_classifier.fit(x_train, y_train)\n",
    "\n",
    "# Predict\n",
    "pred_probs = mlp_classifier.predict_proba(x_test)\n",
    "\n",
    "# Results\n",
    "display_results(y_test, pred_probs)\n",
    "\n",
    "with open('pred_probas/text_mlp_classifier.pkl', 'wb') as f:\n",
    "    pickle.dump(pred_probs, f)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Test Set Accuracy =  0.626\n",
      "Test Set F-score =  0.636\n",
      "Test Set Precision =  0.685\n",
      "Test Set Recall =  0.611\n",
      "Confusion matrix, without normalization\n",
      "[[ 86   8 100   2   5  21]\n",
      " [  5 212  70   7   7  41]\n",
      " [ 30  30 428  11  10  65]\n",
      " [  0   0  59 199   0   0]\n",
      " [  0   5  38   1 171  11]\n",
      " [ 12  38 148   4   6 130]]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "lr_classifier = LogisticRegression(solver='lbfgs', multi_class='multinomial', max_iter=1000)\n",
    "\n",
    "lr_classifier.fit(x_train, y_train)\n",
    "\n",
    "# Predict\n",
    "pred_probs = lr_classifier.predict_proba(x_test)\n",
    "\n",
    "# Results\n",
    "display_results(y_test, pred_probs)\n",
    "\n",
    "with open('pred_probas/text_lr_classifier.pkl', 'wb') as f:\n",
    "    pickle.dump(pred_probs, f)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "ax = xgb.plot_importance(xgb_classifier, max_num_features=10, height=0.5, show_values=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0.        , 0.        , 0.00099294, ..., 0.        , 0.        ,\n",
       "       0.        ], dtype=float32)"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "contribution_scores = xgb_classifier.feature_importances_\n",
    "contribution_scores"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Test Set Accuracy =  0.190\n",
      "Test Set F-score =  0.145\n",
      "Test Set Precision =  0.149\n",
      "Test Set Recall =  0.152\n",
      "Confusion matrix, without normalization\n",
      "[[ 20  29 102  30  26  15]\n",
      " [ 42  39 155  37  39  30]\n",
      " [ 82  73 236  53  79  51]\n",
      " [ 21  37 130  22  32  16]\n",
      " [ 31  27  95  19  33  21]\n",
      " [ 41  43 144  40  48  22]]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "with open('pred_probas/text_lstm_classifier.pkl', 'rb') as f:\n",
    "    lstm_pred_probs = pickle.load(f)\n",
    "    \n",
    "display_results(y_test, lstm_pred_probs)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Test Set Accuracy =  0.631\n",
      "Test Set F-score =  0.649\n",
      "Test Set Precision =  0.702\n",
      "Test Set Recall =  0.620\n",
      "Confusion matrix, without normalization\n",
      "[[ 96   7  96   1   4  18]\n",
      " [  6 207  81   4   5  39]\n",
      " [ 36  27 428   8   8  67]\n",
      " [  0   0  59 199   0   0]\n",
      " [  0   2  49   1 174   0]\n",
      " [ 11  34 151   4   5 133]]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Load predicted probabilities\n",
    "with open('pred_probas/text_rf_classifier.pkl', 'rb') as f:\n",
    "    rf_pred_probs = pickle.load(f)\n",
    "\n",
    "with open('pred_probas/text_xgb_classifier.pkl', 'rb') as f:\n",
    "    xgb_pred_probs = pickle.load(f)\n",
    "    \n",
    "with open('pred_probas/text_svc_classifier_model.pkl', 'rb') as f:\n",
    "    svc_preds = pickle.load(f)\n",
    "    \n",
    "with open('pred_probas/text_mnb_classifier.pkl', 'rb') as f:\n",
    "    mnb_pred_probs = pickle.load(f)\n",
    "    \n",
    "with open('pred_probas/text_mlp_classifier.pkl', 'rb') as f:\n",
    "    mlp_pred_probs = pickle.load(f)\n",
    "    \n",
    "with open('pred_probas/text_lr_classifier.pkl', 'rb') as f:\n",
    "    lr_pred_probs = pickle.load(f)\n",
    "\n",
    "\n",
    "# Average of the predicted probabilites\n",
    "ensemble_pred_probs = (xgb_pred_probs +\n",
    "                       mlp_pred_probs +\n",
    "                       rf_pred_probs +\n",
    "                       mnb_pred_probs +\n",
    "                       lr_pred_probs)/5.0\n",
    "\n",
    "\n",
    "# Show metrics\n",
    "display_results(y_test, ensemble_pred_probs)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Stats for top 500 features:\n",
      "Test Set Accuracy =  0.548\n",
      "Test Set F-score =  0.540\n",
      "Test Set Precision =  0.703\n",
      "Test Set Recall =  0.503\n",
      "Stats for top 1000 features:\n",
      "Test Set Accuracy =  0.548\n",
      "Test Set F-score =  0.540\n",
      "Test Set Precision =  0.703\n",
      "Test Set Recall =  0.503\n",
      "Stats for top 1500 features:\n",
      "Test Set Accuracy =  0.548\n",
      "Test Set F-score =  0.540\n",
      "Test Set Precision =  0.703\n",
      "Test Set Recall =  0.503\n",
      "Stats for top 2000 features:\n"
     ]
    }
   ],
   "source": [
    "top_n = [500, 1000, 1500, 2000]  # number of features\n",
    "for n in top_n:\n",
    "    threshold = np.argsort(contribution_scores)[::-1][:n][-1]\n",
    "    print('Stats for top {} features:'.format(n))\n",
    "    # Select features using threshold\n",
    "    selection = SelectFromModel(xgb_classifier, threshold=contribution_scores[threshold], prefit=True)\n",
    "    select_x_train = selection.transform(x_train)\n",
    "    select_x_test = selection.transform(x_test)\n",
    "    \n",
    "    # Train\n",
    "    select_xgb_classifier = xgb.XGBClassifier(max_depth=7, learning_rate=0.008, objective='multi:softprob', \n",
    "                                              n_estimators=600, sub_sample = 0.8, num_class = len(emotion_dict),\n",
    "                                              booster='gbtree', n_jobs=4)\n",
    "    select_xgb_classifier.fit(select_x_train, y_train)\n",
    "\n",
    "    # Predict\n",
    "    pred_probs = select_xgb_classifier.predict_proba(select_x_test)\n",
    "\n",
    "    # Results\n",
    "    display_results(y_test, pred_probs, cm = False)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
